home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / bin / foo2zjs-pstops < prev    next >
Text File  |  2009-10-19  |  2KB  |  111 lines

  1. #!/bin/sh
  2.  
  3. VERSION='$Id: foo2zjs-pstops.sh,v 1.13 2008/12/05 02:46:35 rick Exp $'
  4.  
  5. PROGNAME="$0"
  6.  
  7. usage() {
  8.     cat <<EOF
  9. NAME
  10.     `basename $PROGNAME` - Add PS code for foo2*-wrapper
  11.  
  12. SYNOPSIS
  13.     `basename $PROGNAME` [options] [file]
  14.  
  15. DESCRIPTION
  16.     Add PS code for foo2zjs-wrapper.
  17.  
  18. OPTIONS
  19.     -r        Rotate 90 clockwise
  20.     -c        CIEColor
  21.     -n        Neuter CUPS cupsPSLevel2
  22.     -w        Accurate screens and Well Tempered Screens code
  23.     -D lvl    Debug level
  24. EOF
  25.  
  26.     exit 1
  27. }
  28.  
  29. #
  30. #       Report an error and exit
  31. #
  32. error() {
  33.     echo "`basename $PROGNAME`: $1" >&2
  34.     exit 1
  35. }
  36.  
  37. debug() {
  38.     if [ $DEBUG -ge $1 ]; then
  39.         echo "`basename $PROGNAME`: $2" >&2
  40.     fi
  41. }
  42.  
  43. #
  44. #       Process the options
  45. #
  46. DEBUG=0
  47. ROTATE90=0
  48. ACCURATE=0
  49. CIECOLOR=0
  50. NIXCUPS=0
  51. WTS=0
  52. while getopts "ach:nwrD:Vh?" opt
  53. do
  54.     case $opt in
  55.     a)    ACCURATE=1;;
  56.     c)    CIECOLOR=1;;
  57.     h)    YDIMpoints="$OPTARG";;
  58.     n)    NIXCUPS=1;;
  59.     r)    ROTATE90=1;;
  60.     w)    WTS=1;;
  61.     D)    DEBUG="$OPTARG";;
  62.     V)    echo "$VERSION"; exit 0;;
  63.     h|\?)    usage;;
  64.     esac
  65. done
  66. shift `expr $OPTIND - 1`
  67.  
  68. if [ $NIXCUPS = 1 ]; then
  69.     n='s#^[^/]*cupsPSLevel2#false#'
  70. else
  71.     n=
  72. fi
  73.  
  74. if [ $ROTATE90 = 1 ]; then
  75.         # %%currentpagedevice /PageSize get\
  76.         # %%aload pop translate\
  77.     r="1i\
  78.     << /Install {\
  79.         0 $YDIMpoints translate\
  80.         -90 rotate\
  81.     } >> setpagedevice
  82.     "
  83. else
  84.     r=
  85. fi
  86.  
  87. if [ $WTS = 1 ]; then
  88.     w='/%%Page:.*[     ]1[     ]*$/ i\
  89.     << /UseWTS true >> setuserparams \
  90.     <<\
  91.         /AccurateScreens true\
  92.         /HalftoneType 1\
  93.         /HalftoneName (Round Dot Screen) cvn\
  94.         /SpotFunction { 180 mul cos exch 180 mul cos add 2 div}\
  95.         /Frequency 137\
  96.         /Angle 37\
  97.     >> sethalftone
  98.         '
  99. else
  100.     w=
  101. fi
  102.  
  103. #
  104. #    Main Program
  105. #
  106. sed \
  107.     -e "$w" \
  108.     -e "$n" \
  109.     -e "$r" \
  110.     $@
  111.